Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-213633 | PPS9-00-009500 | SV-213633r557394_rule | Medium |
Description |
---|
Information can be either unintentionally or maliciously disclosed or modified during preparation for transmission, including, for example, during aggregation, at protocol transformation points, and during packing/unpacking. These unauthorized disclosures or modifications compromise the confidentiality or integrity of the information. Use of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. When transmitting data, the DBMS, associated applications, and infrastructure must leverage transmission protection mechanisms. EDB Postgres Advanced Server provides native support for using SSL connections to encrypt client/server communications. To enable the use of SSL, the postgres “ssl” configuration parameter must be set to “on”, and the database instance needs to be configured to use a valid server certificate and private key installed on the server. With SSL enabled, connections made to the database server will default to being encrypted. However, it is possible for clients to override the default and attempt to establish an unencrypted connection. To prevent connections made from non-local hosts from being unencrypted, the postgres host-based authentication settings should be configured to only allow hostssl (i.e., encrypted) connections. The hostssl connections can be further configured to require that the client present a valid (trusted) SSL certificate for a connection. |
STIG | Date |
---|---|
EDB Postgres Advanced Server Security Technical Implementation Guide | 2020-09-23 |
Check Text ( C-14855r557392_chk ) |
---|
If the data owner does not have a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process, this is not a finding. Open " If any rows do not have TYPE of "hostssl" as well as a METHOD of "cert", this is a finding. |
Fix Text (F-14853r557393_fix) |
---|
To configure EDB Postgres Advanced Server to use SSL, open the ”postgresql.conf" file in an editor. Note that the default location for the postgresql.conf file is in the postgresql data directory. The location of the postgresql.conf for a running EDB Postgres instance can be found using the following command run from a command prompt: psql -d Where, In the postgresql.conf file, set the “ssl” parameter as follows: ssl = on Make sure the parameter is uncommented. In order to start an EDB Postgres Advanced Server instance in SSL mode, files containing the server certificate and private key must exist. By default, these files are expected to exist in the Postgres data directory and are expected to be named server.crt and server.key, respectively. Update the ssl_cert_file and ssl_cert_key parameters in the postgresql.conf file if the files are placed in a different location or are named differently. Note that changes to the SSL parameter setting and any of the other SSL-related parameters require a database server restart to be put the changes into effect. To restart the database on a systemd server, issue the following command as the root user or a user with sudo access: systemctl restart edb-as- Where, “ To restart the database on an initd server, issue the following command as the root user or a user with sudo access: service edb-as- Where, “ After verifying SSL is enabled for the database, open the pg_hba.conf file in an editor to configure the host-based authentication settings. Note the default location for the pg_hba.conf file is in the postgresql data directory. The location of the pg_hba.conf file for a running EDB postgres instance can be found using the following command run from a command prompt: psql -d Where, Obtain approval and document any uncommented entries with corresponding justification that are not of type hostssl and do not include the “clientcert=1” option. For any entries that are not of type hostssl authentication with the “clientcert=1” option and not documented and approved, change the "TYPE" column to “hostssl” and add the “clientcert=1” authentication method option. Note that changes to the host-based authentication settings require a database reload in order to apply the updated settings. To reload the database on a systemd server, issue the following command as the root user or a user with sudo access: systemctl reload edb-as- Where, “ To reload the database on an initd server, issue the following command as the root user or a user with sudo access: service edb-as- Where, “ For more information on configuring PostgreSQL to use SSL, consult the following documentation: https://www.postgresql.org/docs/current/ssl-tcp.html |